#define _CRT_SECURE_NO_WARNINGS 1
//#include <stdio.h>
//int main() {
//    float arr[5][5] = { 0 }, sum[5] = { 0 };
//    int i = 0;
//    for (i = 0; i < 5; i++)
//    {
//        int j = 0;
//        for (j = 0; j < 5; j++)
//        {
//            scanf("%f", &arr[i][j]);
//            printf("%.1f ", arr[i][j]);
//            sum[i] += arr[i][j];
//        }
//        printf("%.1f\n", sum[i]);
//    }
//    return 0;
//}


//#include <stdio.h>
//int main() {
//    int arr[5][5] = { 0 }, n, m;
//    scanf("%d %d", &n, &m);
//    int i = 0, j = 0;
//    for (i = 0; i < n; i++)
//        for (j = 0; j < m; j++)
//            scanf("%d", &arr[i][j]);
//    int x, y;
//    scanf("%d %d", &x, &y);
//    printf("%d", arr[x - 1][y - 1]);
//    return 0;
//}


//#include <stdio.h>
//int main() {
//    int arr[10][10] = { 0 }, n, m;
//    scanf("%d %d", &n, &m);
//    int i = 0, j = 0;
//    for (i = 0; i < n; i++)
//    {
//        for (j = 0; j < m; j++)
//        {
//            scanf("%d", &arr[i][j]);
//            printf("%d ", arr[i][j]);
//        }
//        printf("\n");
//    }
//    return 0;
//}

//#include <stdio.h>
//int main() {
//    int n, m, arr[10][10];
//    scanf("%d%d", &n, &m);
//    int i = 0, j = 0, x = 0, y = 0;
//    for (i = 0; i < n; i++)
//    {
//        for (j = 0; j < m; j++)
//        {
//            scanf("%d", &arr[i][j]);
//            if (arr[x][y] < arr[i][j])
//            {
//                x = i, y = j;
//            }
//        }
//    }
//    printf("%d %d", x + 1, y + 1);
//    return 0;
//}

//#include <stdio.h>
//int main() {
//    int n, m, arr1[10][10], arr2[10][10];
//    scanf("%d%d", &n, &m);
//    int i = 0, j = 0, x = 0, y = 0;
//    for (i = 0; i < n; i++)
//        for (j = 0; j < m; j++)
//            scanf("%d", &arr1[i][j]);
//    for (i = 0; i < n; i++)
//        for (j = 0; j < m; j++)
//            scanf("%d", &arr2[i][j]);
//    for (i = 0; i < n; i++)
//        for (j = 0; j < m; j++)
//            if (arr1[i][j] != arr2[i][j])
//            {
//                printf("No\n");
//                return 0;
//            }
//    printf("Yes\n");
//    return 0;
//}

//#include <stdio.h>
//int main() {
//    int n, arr[10][10];
//    scanf("%d", &n);
//    int i = 0, j = 0, x = 0, y = 0;
//    for (i = 0; i < n; i++)
//        for (j = 0; j < n; j++)
//            scanf("%d", &arr[i][j]);
//    for (i = 0; i < n; i++)
//        for (j = 0; j < i; j++)
//            if (arr[i][j] != 0)
//            {
//                printf("NO\n");
//                return 0;
//            }
//    printf("YES\n");
//    return 0;
//}

//#include <stdio.h>
//int main() {
//    int n, m, arr[10][10];
//    scanf("%d%d", &n, &m);
//    int i = 0, j = 0, x = 0, y = 0;
//    for (i = 0; i < n; i++)
//        for (j = 0; j < m; j++)
//            scanf("%d", &arr[i][j]);
//    for (j = 0; j < m; j++)
//    {
//        for (i = 0; i < n; i++)
//        {
//            printf("%d ", arr[i][j]);
//        }
//        printf("\n");
//    }
//    return 0;
//}

//#include <stdio.h>
//int main() {
//    int n, m, arr[10][10];
//    scanf("%d%d", &n, &m);
//    int i = 0, j = 0;
//    for (i = 0; i < n; i++)
//        for (j = 0; j < m; j++)
//            scanf("%d", &arr[i][j]);
//    int count;
//    scanf("%d", &count);
//    i = 0;
//    while (i < count)
//    {
//        int ch;
//        while ((ch = getchar()) != '\n')
//            ;
//        char t;
//        int a, b;
//        scanf("%c%d%d", &t, &a, &b);
//        if (t == 'r')
//        {
//            for (j = 0; j < m; j++)
//            {
//                int tmp = arr[a - 1][j];
//                arr[a - 1][j] = arr[b - 1][j];
//                arr[b - 1][j] = tmp;
//            }
//        }
//        else if (t == 'c')
//        {
//            for (j = 0; j < n; j++)
//            {
//                int tmp = arr[j][a - 1];
//                arr[j][a - 1] = arr[j][b - 1];
//                arr[j][b - 1] = tmp;
//            }
//        }
//        i++;
//    }
//    for (i = 0; i < n; i++)
//    {
//        for (j = 0; j < m; j++)
//            printf("%d ", arr[i][j]);
//        printf("\n");
//    }
//    return 0;
//}

#include <stdio.h>
int main() {
    int arr[30][30] = { 0 };
    int n;
    int i;
    int j = 0;
    scanf("%d", &n);
    for (i = 0; i < n; i++)
    {
        for (j = 0; j <= i; j++)
        {
            if (j == 0 || i == j)
            {
                arr[i][j] = 1;
            }
            else
            {
                arr[i][j] = arr[i - 1][j] + arr[i - 1][j - 1];
            }
        }
    }
    for (i = 0; i < n; i++)
    {
        for (j = 0; j <= i; j++)
        {
            printf("%5d", arr[i][j]);
        }
        printf("\n");
    }
    return 0;
}